﻿using System;
using System.Windows.Forms;
using CentroVentas.Clases;
using CentroVentas.Clases.Utiles;

namespace CentroVentas.Core
{
    public partial class FrmLogin : Form
    {
        //int intentos = 0;
        public string usuario = null;

        public FrmLogin()
        {
            InitializeComponent();
            
        }

        private void Login_Load(object sender, EventArgs e)
        {
            Status.Visible = false;
            Clases.Usuarios.GetUsuariosTextBox(TxtUsuario);
            button1.Focus();
        }

        

        private void BtnLogin_Click(object sender, EventArgs e)
        {
            Login();
        }

        private void Login()
        {
            if (!String.IsNullOrWhiteSpace(TxtUsuario.Text) && !String.IsNullOrWhiteSpace(TxtContraseña.Text))
            {
                try
                {
                    Usuarios usu = new Usuarios(TxtUsuario.Text);
                    if (usu.Password == Seguridad.generarClaveSHA512(TxtContraseña.Text))
                    {
                        this.usuario = usu.Nombre;
                        this.DialogResult = System.Windows.Forms.DialogResult.OK;
                        this.Dispose();
                    }
                }
                catch (Exception ex)
                {
                    Utilidades.mensaje(TipoMensaje.ERROR, ex.Message, 5);
                }
            }
            else
            {
                Utilidades.mensaje(TipoMensaje.ERROR, "Nombre de usuario y contraseña erroneos", 3);
            }
        }

        private void BtnSalir_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("¿Está seguro que desea salir?", ProductName, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                Application.Exit();
            }
        }

        private void FrmLogin_FormClosed(object sender, FormClosedEventArgs e)
        {
            if (e.CloseReason == CloseReason.ApplicationExitCall)
            {
                Application.Exit();
            }
            else
            {
                this.Dispose();
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Usuarios usu = new Usuarios("11.111.111-1");
            if (usu.Password == Seguridad.generarClaveSHA512("ez8810"))
            {
                Diagnostico.CreateEventSoure("CENTROVENTAS", "CENTROVENTAS");
                 //Diagnostico.EventLogEntryType(System.Diagnostics.EventLogEntryType.Information, "Se hizo ingreso como administrador.",0);
                this.usuario = usu.Nombre;
                this.DialogResult = System.Windows.Forms.DialogResult.OK;
                this.Dispose();
            }
        }

        private void TxtUsuario_KeyDown(object sender, KeyEventArgs e)
        {

            //if(e.KeyCode == Keys.Enter)
                //button1_Click(new object[0],EventArgs.Empty);
            
        }

        private void TxtContraseña_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                Login();
            }
        }        
    }
}
